package com.mars.junit.mq.consumer;

import java.io.Serializable;
import java.util.Map;

import org.springframework.jms.annotation.JmsListener;
import org.springframework.stereotype.Component;

import com.mars.junit.mq.MQEntity;

/**
 * 使用注解的方式来接收消息
 * 
 * <p>标题: QueueMessageConsumer1</p>
 * <p>描述: </p>
 * <p>公司: www.yhaoquan.com</p> 
 * @作者： 杨浩泉
 * @日期：2016年12月4日
 * @版本：1.0
 */
@Component
public class QueueMessageConsumer1 {
	
	@JmsListener(destination="queue.test1")
	public void receive1(Serializable message) {
		System.out.println("JSM接收到消息，数据类型【String】:" + message);
	}
	
	@JmsListener(destination="queue.test2")
	public void receive2(MQEntity message) {
		System.out.println("JSM接收到消息，数据类型【MQEntity对象】:" + message);
	}
	
	@JmsListener(destination="queue.test3")
	public void receive3(Serializable message) {
		System.out.println("JSM接收到消息，数据类型【Serializable对象】:" + message);
	}
	
	@JmsListener(destination="queue.test4")
	public void receive4(Serializable message) {
		System.out.println("JSM接收到消息，数据类型【Serializable】:" + message);
	}
	
	@JmsListener(destination="queue.test5")
	public void receive5(Map<String, Object> map) {
		System.out.println("JSM接收到消息，数据类型【Map】:" + map);
	}
	
	@JmsListener(destination="default.queue")
	public void receive6(Serializable message) {
		System.out.println("JSM接收到消息，默认的队列名称:" + message);
	}
	
	
	

	@JmsListener(destination="topic.test1")
	public void receive7(Serializable message) {
		System.out.println("JSM接收到消息，类型【Topic】"+message);
		System.out.println(message);
	}
	
}
